Skip to content

Latest commit

 

History

History
88 lines (62 loc) · 3.14 KB

nc-parallel-pparallel_free_routine.md

File metadata and controls

88 lines (62 loc) · 3.14 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NC:parallel.PPARALLEL_FREE_ROUTINE
PPARALLEL_FREE_ROUTINE (parallel.h)
The PPARALLEL_FREE_ROUTINE-typed callback routine frees a parallel port. The system-supplied function driver for parallel ports supplies this routine.
parports\pparallel_free_routine.htm
parports
02/15/2018
PPARALLEL_FREE_ROUTINE callback
(*PPARALLEL_FREE_ROUTINE), (*PPARALLEL_FREE_ROUTINE) callback function [Parallel Ports], cisspd_5f5bcbed-0df6-4b2a-ab88-a26f48976ad7.xml, parallel/(*PPARALLEL_FREE_ROUTINE), parports.pparallel_free_routine
parallel.h
Parallel.h
Desktop
<=DISPATCH_LEVEL
Windows
RILGBATOKEN, *LPRILGBATOKEN
PPARALLEL_FREE_ROUTINE
parallel/PPARALLEL_FREE_ROUTINE
APIRef
kbSyntax
UserDefined
parallel.h
PPARALLEL_FREE_ROUTINE

PPARALLEL_FREE_ROUTINE callback

-description

The PPARALLEL_FREE_ROUTINE-typed callback routine frees a parallel port. The system-supplied function driver for parallel ports supplies this routine.

-parameters

-param FreeContext [in]

Pointer to the device extension of a parallel port's functional device object (FDO).

-prototype

typedef VOID (*PPARALLEL_FREE_ROUTINE)(
  _In_ PVOID FreeContext
);

-remarks

To obtain a pointer to the system-supplied PPARALLEL_FREE_ROUTINE callback, a kernel-mode driver uses an IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO request, which returns a PARALLEL_PORT_INFORMATION structure. The FreePort member of the PARALLEL_PORT_INFORMATION structure is a pointer to this callback.

The driver should allocate a parallel port before freeing it. A driver can use PPARALLEL_QUERY_WAITERS_ROUTINE to determine the number of clients that are waiting to allocate the parallel port, and PPARALLEL_TRY_ALLOCATE_ROUTINE to try to allocate the parallel port.

For more information, see Synchronizing the Use of a ParallelPort.

-see-also

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

PARALLEL_PORT_INFORMATION

PPARALLEL_TRY_ALLOCATE_ROUTINE

PPARALLEL_QUERY_WAITERS_ROUTINE